
        <html>
			<head>
			     <title>从一条微博揭秘"专黑大V名人"的定向攻击 - 360安全卫士</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/11244">http://drops.wooyun.org/papers/11244</a></h1>
				
      <p>
        <h1>0x00 前言</h1>

<hr />

<p>本月初微博上有知名大V晒出一封私信截图，私信是以某记者名义发出，要求采访该大V博主，并提供了一个网盘链接作为“采访提纲”。当博主下载网盘中存放的所谓“采访提纲”后，该文件被360安全卫士检测为木马进行清除。</p>

<p>我们根据截图中的网盘链接下载了伪装“采访提纲”的木马进行分析，发现这是来自于一个长期从事木马植入与数据窃取的不法黑客团伙，该团伙利用盗取或冒名的各类账号，对账号关联人发起攻击，木马功能包括录音、远程上传或下载任意文件、服务管理、文件管理、屏幕监控等，很明显是意图窃取数据进行勒索或售卖来谋取利益。</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004594079928129.png" alt="p1" /></p>

<!--more-->

<h1>0x01 样本信息</h1>

<hr />

<p><img src="http://static.wooyun.org//drops/20151210/2015121004594330644210.png" alt="p2" /></p>

<h1>0x02 样本流程图</h1>

<hr />

<p><img src="http://static.wooyun.org//drops/20151210/2015121004594673373312.png" alt="p3" /></p>

<h1>0x03 样本详细分析</h1>

<hr />

<p><strong>>> XXXX采访提纲.exe&lt;&lt;</strong></p>

<p>木马作者将自己的样本做成一个word文档的样子。不管从图标还是名字上面来看都是word的样子诱导用户去点击查看。但是这个却是一个exe程序。该exe程序运行时首先会在C盘下面尝试写一个空文件，看是否能够写入成功。如果写入成功他就会删除该文件，然后开始执行一系列操作来在安装自己。首先释放大量文件，作者将自己的文件夹设置为了隐藏。如果我们的文件夹选项中没有勾选显示隐藏搜保护的操作系统文件我们是看不到的。</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004594825210411.png" alt="p4" /></p>

<p>释放文件完毕后接下来会创建VSTquanjuhe.com这个可执行文件，VSTquanjuhe进程会运行explore来打开<code>C:\OA</code>路径。弹出一个空的docx文档。(ps:测试没有装word，所以这里比较尴尬，没有word图标)</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004595057028511.png" alt="p5" /></p>

<p>接下来用ua.exe这个程序来解压links.ini文件，解压密码为”█噎冪蕟嚄Щ暜囖醃∷滸濤∑”,解压后判断判断系统是多少位的如果是32位的就运行Win1.bat文件，如果是64位的就运行Win2.bat(Win2.bat内容和Win1.bat内容相似，只是不再判断是多少版本的系统)</p>

<p><strong>>> Win1.bat &lt;&lt;</strong></p>

<p>该文件的内容主要是先判断是否存在swapfile.sys文件，来判断操作系统版本的。如果存在就将test1.pfx重命名为2016mt.1r放到<code>C：\Windows</code>目录下，否则就将test2.pfx文件重命名为2016mt.1r放到<code>C：\Windows</code>目录下.接下来 调用regedit.exe来运行ua.lnk→运行mew.1r→msg 系统需要升级→关机重启</p>

<p><strong>>>ua.lnk&lt;&lt;</strong></p>

<p>写入注册表，并关联文件。将.1r文件与”VBEFile”文件相关联以及将.3f文件与”inifile”文件相关联。使这两种后缀的文件能按vbe和inf文件的形式打开。</p>

<p><strong>>> mew.1r &lt;&lt;</strong></p>

<p>该文件是一个被加密了5次的vbs文件，源文件打开看到的像是一堆乱码.</p>

<p>如图:</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004595191108611.png" alt="p6" /></p>

<p>最后解密到的脚本内容</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004595387858711.png" alt="p7" /></p>

<p>解密后的vbs文件的主要功能就是模拟鼠标去点击运行<code>C:\$NtUninstallKB1601A$\BinBackup\MYTEMP</code>文件下的8.3f文件</p>

<p><strong>>> 8.3f &lt;&lt;</strong></p>

<p>在RunOnceEx下写入了一个注册表，开机时就启动2016mt.1r(vb文件)文件。</p>

<p><strong>>> 2016mt.1r &lt;&lt;</strong></p>

<p>开机后运行2016mt.1r→0s.bat文件→调用regdit运行lang2.lnk→解压abc1601.bat→运行shotdown</p>

<p><strong>>> os.bat &lt;&lt;</strong></p>

<p>用abc.os文件去覆盖qmvext.db文件，该文件时用来存放规则的文件。写入规则后的文件就不会被查杀了。这里作者用自己的数据文件替换用户的数据文件。就是为了绕过腾讯管家的查杀。不过这个漏洞在2013就在乌云上报道过了。</p>

<p><strong>>> lang2.lnk &lt;&lt;</strong></p>

<p>通过调用<code>regeedit /s</code>来执行reg文件。该文件的主要作用是关联文件以及在注册表在Active Steup下的StubPath键下写入了<code>C:\\$NtUninstallKB1601A$\\BinBackup\\super.inf</code>，写入注册表写入后，super.inf文件会在操作系统启动后第一时间启动。比任何一个程序都要先启动。</p>

<p><strong>>> abc1601.dat &lt;&lt;</strong></p>

<p>abc1601.data是一个被加密了的压缩文件。解压密码为“▓羋奤柒♀懋髖瓊♂蠟蕙纗▓ ”。解压后出现一个shotdown文件，然后ua.exe会运行shotdown文件，shotdwon释放FreeImage.dll文件,接下来FreeImage.dll会释放出并运行FreeImage.exe</p>

<p><strong>>> FreeImage.exe &lt;&lt;</strong></p>

<p>该文件是先将自己写的函数的地址写入在程序中，这样就提高了分析者对样本分析的难度</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004595423385811.png" alt="p8" /></p>

<p>将地址写死在程序中后，通过对寄存器的调用来调用自己写的函数。一直在不停的call eax来调用函数</p>

<p><img src="http://static.wooyun.org//drops/20151210/201512100459563743399.png" alt="p9" /></p>

<p>在对该远控功能分析的时候，我们发现该远控具备的功能大概如下</p>

<pre><code>录音
远程上传以及下载文件
服务管理
文件管理
屏幕监控
</code></pre>

<p>该远控主要通过注入svchost进程来启动。下面就是他的注入过程。先以管理员权限运行svchost.exe</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121004595731914109.png" alt="p10" /></p>

<p>接下来就对他进行注入了。先调用WriteProcessMemory函数对svchost.exe写入数据，接下来调用SetThreadContext函数来设置EIP然后调用ReumeThread来恢复线程</p>

<p><img src="http://static.wooyun.org//drops/20151210/20151210045959579721113.png" alt="p11" /></p>

<p>通过新设置的EIP我们找到了被注入的svchost.exe的入口地址(通过对写入文件前下CC断点),用OD附加后调试发现。被注入的文件就是FreeImage本身。如果注入成功，FreeImage就结束运行。不过不管注入成不成功svchost也会发起数据链接，结合在动态分析对该远控功能的分析和对数据包结构的分析。可以看出，该远控是一个灰鸽子改版过来的RemoteABC远程控制软件</p>

<p><img src="http://static.wooyun.org//drops/20151210/20151210050001495661210.png" alt="p12" /></p>

<p>图.上线包</p>

<p>如果系统版本不是win8及其以上,则2106mt.1r是由test1.pfx解密而来文件主要内容如下</p>

<p>运行os.bat(覆盖腾讯信任文件数据库文件)→解压abc.data→解压inst.ini→运行会释放出远控的shotdown.exe→调用regedit.exe运行lang1.lnk→重启电脑</p>

<p><strong>>> inst.ini &lt;&lt;</strong></p>

<p>解密后得到的文件是作者事先写好的360卫士的信任区数据文件和一个安全工具及其相关的组件</p>

<p><strong>>> lang1.lnk &lt;&lt;</strong></p>

<p>lang1.lnk将bmd.vbe写入了启动项里面。写入后会开机自启动，启动后运行bmd.vbe</p>

<p><strong>>> bmd.vbe &lt;&lt;</strong></p>

<p>bmd.vbe文件也是被加密过5次的vbs文件，它主要运行ub.lnk以及gsxt.bat</p>

<p><strong>>>ub.lnk&lt;&lt;</strong></p>

<p>ub.lnk解密mtfile.tpi文件。并执行ing.exe文件</p>

<p><strong>>> gsxt.bat文件主要内容&lt;&lt;</strong></p>

<p>gsxt.bat通过调用一个rootkit工具，删除替换杀软的信任区文件，从而将木马加入用户的信任区。尽管该木马专门针对360安全卫士进行破坏，试图躲过查杀，但360多重防护体系的“下载保护”将木马直接报毒清除，使其无法运行起来，从而有效保护了用户避免中招。</p>

<h1>0x04 木马背后</h1>

<hr />

<p>在我们捕获的同族系样本中，还发现一个命名为“left and right base trigger, left and right bumper s136mould20000pieces.exe”的样本。该文件属于工程技术类文档，而图标则是一个文件夹图标。与上面分析的样本不同的的是，它是在OA文件夹下释放的，并且不再是Word文档，而是四个STEP文档。STEP文件是一个国际统一的CAD数据交换标准，根据这四个STEP文件内容来看，是针对SolidWorks 2014这款软件的。</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121005000292727137.png" alt="p13" /></p>

<p>这个木马团伙最近一段时间，使用远控控制服务器，均是位于青岛的阿里云服务器中心。</p>

<p>两个木马使用的远控上线地址：</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121005000454048146.png" alt="p14" /></p>

<p>下面是近期该族系传播比较多的几个变种，涵盖多个行业：</p>

<table>
<thead>
<tr>
  <th align="center">木马传播文件名</th>
  <th align="center">主要传播方式</th>
  <th align="center">木马传播主要针对人群</th>
</tr>
</thead>
<tbody>
<tr>
  <td align="center">2016年样片拍摄方案及费用1.exe</td>
  <td align="center">聊天软件</td>
  <td align="center">摄影师、模特等从业人员</td>
</tr>
<tr>
  <td align="center">大道包装钢平台技术要求1208.exe</td>
  <td align="center">邮件</td>
  <td align="center">工程项目相关从业人员</td>
</tr>
<tr>
  <td align="center">12-8日操作建议.exe</td>
  <td align="center">聊天软件</td>
  <td align="center">股票证券相关从业人员/炒股人群</td>
</tr>
<tr>
  <td align="center">核实一下账户信息.exe</td>
  <td align="center">聊天软件/邮箱</td>
  <td align="center">银行业相关从业人员/财会人员</td>
</tr>
<tr>
  <td align="center">超级3m汇款单.exe</td>
  <td align="center">网盘</td>
  <td align="center">金融理财人群</td>
</tr>
<tr>
  <td align="center">新出楼盘.exe</td>
  <td align="center">聊天软件</td>
  <td align="center">房地产相关从业人员/有房屋买卖需求人群</td>
</tr>
</tbody>
</table>

<p>不难发现：木马的文件名、传播渠道、针对人群这三组指标都有极高的统一性，这明显不是那种常见的“撒网捕鱼”式的木马，而是前期先获取到一部分人的邮箱、通讯软件、社交平台等账号密码，之后人工分析原账号持有者的社交圈和社交习惯，再根据分析结果定向发送定制的木马程序，增加木马投放的成功率，同时也方便更有目的性和更高效的窃取中招用户机器上的资料。植入中招用户机器中的是远控木马而不是普通的盗号木马，这样也是更方便认为的控制要获取的资料，目的性进一步提高。</p>

<p>关系草图大体如下：</p>

<p><img src="http://static.wooyun.org//drops/20151210/2015121005000581746156.png" alt="p15" /></p>

<p>这里只是将已经展现在我们面前的第一层关系图画出来，不难发现在这种有人工参与的目的性极强的攻击方式下，很容易的形成一个链式反应。只要参与运营的人手够多，就足以在短时间内掌握大量的特定行业内部信息——而这能换取的经济利益显然是巨大的。</p>

<h1>0x05 总结</h1>

<hr />

<p>此类定向木马具有明显的专一性，需要较高的人工参与度，所以传播方式并不是传统木马的以量取胜，而是转变为定点打击的精准小范围传播。虽然成本更高，但显然收益也更加可观。同时避免大规模的传播也就等同于降低了被各大安全厂商云安全机制发现的风险。</p>

<p>应对此类木马，安全软件的查杀固然必不可少，用户的自我防范意识也必不可少。对于好友突然发来的文件，也要多加注意。安全软件已经提示风险的文件，切莫随意打开。广大网民也要注意自身的账号安全，对于泄漏的密码要及时废弃，以防自己的账号成了木马团伙攻击的武器。360互联网安全中心也会继续关注该木马家族的发展，积极提供应对方案，保障网民安全。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          